[INFO] cloning repository https://github.com/lenhoare/VBR
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lenhoare/VBR" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flenhoare%2FVBR", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flenhoare%2FVBR'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 582655c27eedbe7a2dad085327badb05e04907e4
[INFO] testing lenhoare/VBR against try#b8e88e5ddf5521a9f43ee3f62a702388c713e4bb for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flenhoare%2FVBR" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lenhoare/VBR
[INFO] finished tweaking git repo https://github.com/lenhoare/VBR
[INFO] tweaked toml for git repo https://github.com/lenhoare/VBR written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lenhoare/VBR on toolchain b8e88e5ddf5521a9f43ee3f62a702388c713e4bb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lenhoare/VBR already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ad59fd54c48e4b5167736c097fe94b291068b922e571f6bf51544a49714e95b5
[INFO] running `Command { std: "docker" "start" "-a" "ad59fd54c48e4b5167736c097fe94b291068b922e571f6bf51544a49714e95b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ad59fd54c48e4b5167736c097fe94b291068b922e571f6bf51544a49714e95b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad59fd54c48e4b5167736c097fe94b291068b922e571f6bf51544a49714e95b5", kill_on_drop: false }`
[INFO] [stdout] ad59fd54c48e4b5167736c097fe94b291068b922e571f6bf51544a49714e95b5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5a005f7ad1128570578d13453602878325d83a354ba77cb164ed3582aa27b4c9
[INFO] running `Command { std: "docker" "start" "-a" "5a005f7ad1128570578d13453602878325d83a354ba77cb164ed3582aa27b4c9", kill_on_drop: false }`
[INFO] [stderr]    Compiling vbr_transpiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lexer.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 389 |             Token::New => write!(f, "New"),
[INFO] [stdout]     |             ---------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 403 |             Token::New => write!(f, "New"),
[INFO] [stdout]     |             ^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lexer.rs:482:13
[INFO] [stdout]     |
[INFO] [stdout] 389 |             Token::New => write!(f, "New"),
[INFO] [stdout]     |             ---------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 482 |             Token::New => write!(f, "New"),
[INFO] [stdout]     |             ^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/lexer.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lexer` is never constructed
[INFO] [stdout]    --> src/lexer.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct Lexer {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/lexer.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl Lexer {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 142 |     pub fn new(input: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     fn read_char(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn peek_char(&self) -> char {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn skip_whitespace(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     fn read_identifier(&mut self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn read_number(&mut self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     fn read_string(&mut self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub fn next_token(&mut self) -> Token {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParseError` is never constructed
[INFO] [stdout]  --> src/parser.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ParseError {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/parser.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Parser {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  25 |     pub fn new(tokens: Vec<Token>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     fn current(&self) -> &Token {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  33 |     fn advance(&mut self) -> &Token {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     fn expect(&mut self, expected: Token) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn expect_semicolon(&mut self) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     fn parse_prim_type(&mut self) -> Result<Type, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn parse_program(&mut self) -> Result<Program, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn parse_statement(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn parse_dim(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     fn parse_const(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn parse_set(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn parse_if(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     fn parse_select(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn parse_match(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     fn parse_for(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn parse_for_each(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     fn parse_while(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     fn parse_do_while(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     fn parse_function(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn parse_param(&mut self) -> Result<Param, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     fn parse_return(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn parse_expr_statement(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     fn parse_block(&mut self) -> Result<Vec<Statement>, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |     fn parse_expr(&mut self) -> Result<Expression, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     fn parse_comparison(&mut self) -> Result<Expression, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     fn parse_additive(&mut self) -> Result<Expression, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     fn parse_multiplicative(&mut self) -> Result<Expression, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     fn parse_primary(&mut self) -> Result<Expression, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]  --> src/ast.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Program {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Statement` is never used
[INFO] [stdout]  --> src/ast.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Statement {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SelectArm` is never used
[INFO] [stdout]   --> src/ast.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub enum SelectArm {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Param` is never constructed
[INFO] [stdout]   --> src/ast.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Param {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Type` is never used
[INFO] [stdout]   --> src/ast.rs:89:10
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub enum Type {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expression` is never used
[INFO] [stdout]    --> src/ast.rs:102:10
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum Expression {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UnaryOp` is never used
[INFO] [stdout]    --> src/ast.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub enum UnaryOp {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BinaryOp` is never used
[INFO] [stdout]    --> src/ast.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub enum BinaryOp {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatchArm` is never constructed
[INFO] [stdout]    --> src/ast.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub struct MatchArm {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.93s
[INFO] running `Command { std: "docker" "inspect" "5a005f7ad1128570578d13453602878325d83a354ba77cb164ed3582aa27b4c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a005f7ad1128570578d13453602878325d83a354ba77cb164ed3582aa27b4c9", kill_on_drop: false }`
[INFO] [stdout] 5a005f7ad1128570578d13453602878325d83a354ba77cb164ed3582aa27b4c9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0c08b39358de1a79b218c1d7a44b2f1a6dc77e4dcb6316f92a45dc05a685bcb1
[INFO] running `Command { std: "docker" "start" "-a" "0c08b39358de1a79b218c1d7a44b2f1a6dc77e4dcb6316f92a45dc05a685bcb1", kill_on_drop: false }`
[INFO] [stderr]    Compiling vbr_transpiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lexer.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 389 |             Token::New => write!(f, "New"),
[INFO] [stdout]     |             ---------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 403 |             Token::New => write!(f, "New"),
[INFO] [stdout]     |             ^^^^^^^^^^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lexer.rs:482:13
[INFO] [stdout]     |
[INFO] [stdout] 389 |             Token::New => write!(f, "New"),
[INFO] [stdout]     |             ---------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 482 |             Token::New => write!(f, "New"),
[INFO] [stdout]     |             ^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/lexer.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Token {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     Arrow,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 29 |     As,
[INFO] [stdout] 30 |     ByVal,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 31 |     ByRef,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     Dim,
[INFO] [stdout] 33 |     New,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 34 |     Set,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 35 |     Mut,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     SetAccessor,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `line` is never read
[INFO] [stdout]    --> src/lexer.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct Lexer {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 138 |     line: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Lexer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_number` is never used
[INFO] [stdout]    --> src/lexer.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl Lexer {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn read_number(&mut self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParseError` is never constructed
[INFO] [stdout]  --> src/parser.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ParseError {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/parser.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Parser {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser.rs:25:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  25 |     pub fn new(tokens: Vec<Token>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     fn current(&self) -> &Token {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  33 |     fn advance(&mut self) -> &Token {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     fn expect(&mut self, expected: Token) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn expect_semicolon(&mut self) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     fn parse_prim_type(&mut self) -> Result<Type, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn parse_program(&mut self) -> Result<Program, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     fn parse_statement(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn parse_dim(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     fn parse_const(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn parse_set(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn parse_if(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     fn parse_select(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn parse_match(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     fn parse_for(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn parse_for_each(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     fn parse_while(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     fn parse_do_while(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     fn parse_function(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn parse_param(&mut self) -> Result<Param, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     fn parse_return(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn parse_expr_statement(&mut self) -> Result<Statement, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     fn parse_block(&mut self) -> Result<Vec<Statement>, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |     fn parse_expr(&mut self) -> Result<Expression, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     fn parse_comparison(&mut self) -> Result<Expression, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     fn parse_additive(&mut self) -> Result<Expression, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 443 |     fn parse_multiplicative(&mut self) -> Result<Expression, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     fn parse_primary(&mut self) -> Result<Expression, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]  --> src/ast.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Program {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Statement` is never used
[INFO] [stdout]  --> src/ast.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum Statement {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SelectArm` is never used
[INFO] [stdout]   --> src/ast.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub enum SelectArm {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Param` is never constructed
[INFO] [stdout]   --> src/ast.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Param {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Type` is never used
[INFO] [stdout]   --> src/ast.rs:89:10
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub enum Type {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expression` is never used
[INFO] [stdout]    --> src/ast.rs:102:10
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum Expression {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UnaryOp` is never used
[INFO] [stdout]    --> src/ast.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub enum UnaryOp {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BinaryOp` is never used
[INFO] [stdout]    --> src/ast.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub enum BinaryOp {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatchArm` is never constructed
[INFO] [stdout]    --> src/ast.rs:169:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub struct MatchArm {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.62s
[INFO] running `Command { std: "docker" "inspect" "0c08b39358de1a79b218c1d7a44b2f1a6dc77e4dcb6316f92a45dc05a685bcb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0c08b39358de1a79b218c1d7a44b2f1a6dc77e4dcb6316f92a45dc05a685bcb1", kill_on_drop: false }`
[INFO] [stdout] 0c08b39358de1a79b218c1d7a44b2f1a6dc77e4dcb6316f92a45dc05a685bcb1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 76bb15d227d74f9cee2e5676d916d8cf6ab4080a6e1bd6ef7bcba25bebc1dfba
[INFO] running `Command { std: "docker" "start" "-a" "76bb15d227d74f9cee2e5676d916d8cf6ab4080a6e1bd6ef7bcba25bebc1dfba", kill_on_drop: false }`
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/lexer.rs:403:13
[INFO] [stderr]     |
[INFO] [stderr] 389 |             Token::New => write!(f, "New"),
[INFO] [stderr]     |             ---------- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 403 |             Token::New => write!(f, "New"),
[INFO] [stderr]     |             ^^^^^^^^^^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/lexer.rs:482:13
[INFO] [stderr]     |
[INFO] [stderr] 389 |             Token::New => write!(f, "New"),
[INFO] [stderr]     |             ---------- matches all the relevant values
[INFO] [stderr] ...
[INFO] [stderr] 482 |             Token::New => write!(f, "New"),
[INFO] [stderr]     |             ^^^^^^^^^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]   --> src/lexer.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr]  4 | pub enum Token {
[INFO] [stderr]    |          ----- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 28 |     Arrow,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 29 |     As,
[INFO] [stderr] 30 |     ByVal,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 31 |     ByRef,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 32 |     Dim,
[INFO] [stderr] 33 |     New,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 34 |     Set,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 35 |     Mut,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] ...
[INFO] [stderr] 67 |     SetAccessor,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `line` is never read
[INFO] [stderr]    --> src/lexer.rs:138:5
[INFO] [stderr]     |
[INFO] [stderr] 133 | pub struct Lexer {
[INFO] [stderr]     |            ----- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 138 |     line: usize,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Lexer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `read_number` is never used
[INFO] [stderr]    --> src/lexer.rs:187:8
[INFO] [stderr]     |
[INFO] [stderr] 141 | impl Lexer {
[INFO] [stderr]     | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 187 |     fn read_number(&mut self) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ParseError` is never constructed
[INFO] [stderr]  --> src/parser.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct ParseError {
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Parser` is never constructed
[INFO] [stderr]   --> src/parser.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct Parser {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/parser.rs:25:12
[INFO] [stderr]     |
[INFO] [stderr]  24 | impl Parser {
[INFO] [stderr]     | ----------- associated items in this implementation
[INFO] [stderr]  25 |     pub fn new(tokens: Vec<Token>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  29 |     fn current(&self) -> &Token {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  33 |     fn advance(&mut self) -> &Token {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  40 |     fn expect(&mut self, expected: Token) -> Result<(), ParseError> {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  52 |     fn expect_semicolon(&mut self) -> Result<(), ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  59 |     fn parse_prim_type(&mut self) -> Result<Type, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  83 |     pub fn parse_program(&mut self) -> Result<Program, ParseError> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  91 |     fn parse_statement(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 118 |     fn parse_dim(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 143 |     fn parse_const(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 162 |     fn parse_set(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 177 |     fn parse_if(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 191 |     fn parse_select(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 224 |     fn parse_match(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 247 |     fn parse_for(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 267 |     fn parse_for_each(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 296 |     fn parse_while(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 303 |     fn parse_do_while(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 313 |     fn parse_function(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 344 |     pub fn parse_param(&mut self) -> Result<Param, ParseError> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 373 |     fn parse_return(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 382 |     fn parse_expr_statement(&mut self) -> Result<Statement, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 388 |     fn parse_block(&mut self) -> Result<Vec<Statement>, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 399 |     fn parse_expr(&mut self) -> Result<Expression, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 403 |     fn parse_comparison(&mut self) -> Result<Expression, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 425 |     fn parse_additive(&mut self) -> Result<Expression, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 443 |     fn parse_multiplicative(&mut self) -> Result<Expression, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 462 |     fn parse_primary(&mut self) -> Result<Expression, ParseError> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Program` is never constructed
[INFO] [stderr]  --> src/ast.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct Program {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Statement` is never used
[INFO] [stderr]  --> src/ast.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub enum Statement {
[INFO] [stderr]   |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `SelectArm` is never used
[INFO] [stderr]   --> src/ast.rs:74:10
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub enum SelectArm {
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Param` is never constructed
[INFO] [stderr]   --> src/ast.rs:81:12
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub struct Param {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Type` is never used
[INFO] [stderr]   --> src/ast.rs:89:10
[INFO] [stderr]    |
[INFO] [stderr] 89 | pub enum Type {
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Expression` is never used
[INFO] [stderr]    --> src/ast.rs:102:10
[INFO] [stderr]     |
[INFO] [stderr] 102 | pub enum Expression {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `UnaryOp` is never used
[INFO] [stderr]    --> src/ast.rs:141:10
[INFO] [stderr]     |
[INFO] [stderr] 141 | pub enum UnaryOp {
[INFO] [stderr]     |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `BinaryOp` is never used
[INFO] [stderr]    --> src/ast.rs:148:10
[INFO] [stderr]     |
[INFO] [stderr] 148 | pub enum BinaryOp {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MatchArm` is never constructed
[INFO] [stderr]    --> src/ast.rs:169:12
[INFO] [stderr]     |
[INFO] [stderr] 169 | pub struct MatchArm {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `vbr_transpiler` (bin "vbr_transpiler" test) generated 17 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/vbr_transpiler-908ff67597ebdc1a)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr] 
[INFO] [stderr] thread 'lexer::tests::test_lexer_strings' (19) has overflowed its stack
[INFO] [stderr] fatal runtime error: stack overflow, aborting
[INFO] [stderr] error: test failed, to rerun pass `--bin vbr_transpiler`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/vbr_transpiler-908ff67597ebdc1a` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "76bb15d227d74f9cee2e5676d916d8cf6ab4080a6e1bd6ef7bcba25bebc1dfba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "76bb15d227d74f9cee2e5676d916d8cf6ab4080a6e1bd6ef7bcba25bebc1dfba", kill_on_drop: false }`
[INFO] [stdout] 76bb15d227d74f9cee2e5676d916d8cf6ab4080a6e1bd6ef7bcba25bebc1dfba
